package com.yisu.auction.manager.core.service;


import com.yisu.auction.ewf.common.web.EasyUIGrid;
import com.yisu.auction.ewf.entity.GoodsInfo;
import com.yisu.auction.manager.domain.request.baseInfoPackage.GoodsInfoRequest;
import com.yisu.auction.manager.domain.vo.baseInfoPackageVos.GoodsExpandInfoVo;

import java.util.List;

/**
 * author: 赵杰
 * Business Description：商品信息业务接口
 * createTime：2017/8/10
 */
public interface IGoodsInfoService {
    /**
     * author:赵杰
     * Business Description : 分页获取商品信息
     * @param goodsInfoRequest 分页请求信息
     * @return 商品分类列表
     */
    EasyUIGrid<GoodsExpandInfoVo> getGoodsInfoByPage(GoodsInfoRequest goodsInfoRequest);


    /**
     * author:赵杰
     * Business Description : 通过主键ID，获取商品信息
     * @param primaryKey 主键
     * @return
     */
    GoodsInfo getGoodsInfo(long primaryKey);

    /**
     * author:赵杰
     * Business Description : 通过商品名称获取商品信息
     * @param goodsName 商品名称
     * @return
     */
    List<GoodsInfo> getGoodsInfoByGoodsName(String goodsName);

    /**
     * author:赵杰
     * Business Description : 获取正在售卖的商品列表
     * @return
     */
    List<GoodsInfo>getGoodsForShowing();

    /**
     * author:赵杰
     * Business Description : 编辑商品信息
     * @param goodsInfo 商品信息
     * @return
     */
    boolean modifyGoodsInfo(GoodsInfo goodsInfo,String appSigns);


    /**
     * author:赵杰
     * Business Description : 获取正在售卖的商品列表
     * @return
     */
    List<GoodsInfo>getGoodsForAll();

    /**
     * 更新商品信息
     * @param updateModel
     * @return
     */
    boolean updateGoodsInfo(GoodsInfo updateModel);

    /**
     * author:赵杰
     * Business Description : 通过主键ID，删除商品信息
     * @param primaryKey 主键ID
     * @return
     */
    boolean deleteGoodsInfo(long primaryKey);
}
